package com.eastfair.user.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.time.LocalDateTime;
    import lombok.Data;
    import lombok.Builder;
    import lombok.EqualsAndHashCode;
    import lombok.NoArgsConstructor;
    import lombok.AllArgsConstructor;
    import com.fasterxml.jackson.annotation.JsonInclude;
    import lombok.ToString;
    import lombok.experimental.Accessors;
    import com.eastfair.annotation.annotation.vo.VoInfo;
    import com.eastfair.annotation.model.BaseVoGroupClass;
            import com.eastfair.user.enumeration.UserInfoStatusEnum;
import java.io.Serializable;
import com.eastfair.vo.BaseVO;

/**
* <p>
    * 实体类
    * 用户表详情
    * </p>
*
* @author ligang
* @since 2023-09-29
*/
    @Data
    @ApiModel(value = "UserInfoVO", description = "用户表详情")
public class UserInfoVO extends BaseVO implements Serializable {

private static final long serialVersionUID = 1L;

        @ApiModelProperty(value = "主键")
        @JsonInclude(JsonInclude.Include.NON_NULL)
        @VoInfo(groups = {BaseVoGroupClass.all.class})
        private Long id;

            /**
            * 头像
            */
            @ApiModelProperty(value = "头像")
            @JsonInclude(JsonInclude.Include.NON_NULL)
                @Size(max = 255, message = "头像长度不能超过255")
        private String headImg;
            /**
            * 昵称
            */
            @ApiModelProperty(value = "昵称")
            @JsonInclude(JsonInclude.Include.NON_NULL)
                @Size(max = 255, message = "昵称长度不能超过255")
        private String nickName;
            /**
            * 登录名
            */
            @ApiModelProperty(value = "登录名")
            @JsonInclude(JsonInclude.Include.NON_NULL)
                @Size(max = 64, message = "登录名长度不能超过64")
        private String name;
            /**
            * 状态 #{normal:正常;wait_init:待初始化;forbidden:禁用;waiting:待审核;refuse:拒绝;delete:已删除}
            */
            @ApiModelProperty(value = "状态 #{normal:正常;wait_init:待初始化;forbidden:禁用;waiting:待审核;refuse:拒绝;delete:已删除}")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private UserInfoStatusEnum status;
            /**
            * 是否是游客 1是 0否
            */
            @ApiModelProperty(value = "是否是游客 1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isTourist;
            /**
            * 是否启用 1是 0否
            */
            @ApiModelProperty(value = "是否启用 1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isEnabled;
            /**
            * 是否删除 1是 0否
            */
            @ApiModelProperty(value = "是否删除 1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isDeleted;
            /**
            * 租户id
            */
            @ApiModelProperty(value = "租户id")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Long tenantId;
            /**
            * 项目id
            */
            @ApiModelProperty(value = "项目id")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Long projectId;
            /**
            * 子系统id
            */
            @ApiModelProperty(value = "子系统id")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Long subsystemId;
}
